# 2024.08.21力扣网刷题
# 与对应负数同时存在的最大正整数——数组、哈希表、双指针、排序——简单
# 给你一个 不包含 任何零的整数数组 nums ，找出自身与对应的负数都在数组中存在的最大正整数 k 。
# 返回正整数 k ，如果不存在这样的整数，返回 - 1 。
# 示例 1：
# 输入：nums = [-1, 2, -3, 3]
# 输出：3
# 解释：3 是数组中唯一一个满足题目要求的 k 。
# 示例 2：
# 输入：nums = [-1, 10, 6, 7, -7, 1]
# 输出：7
# 解释：数组中存在 1 和 7 对应的负数，7 的值更大。
# 示例 3：
# 输入：nums = [-10, 8, 6, 7, -2, -3]
# 输出： - 1
# 解释：不存在满足题目要求的 k ，返回 - 1 。
# 提示：
# 1 <= nums.length <= 1000
# - 1000 <= nums[i] <= 1000
# nums[i] != 0

class Solution(object):
    def findMaxK(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        # 方法一：列表推导式
        ans = [i for i in nums if -i in nums]
        if not len(ans):
            return -1
        return max(ans)


nums = [-104,-449,-318,-930,-195,579,-410,822,-814,-388,-863,174,-814,919,-877,993,741,741,-623,-4,-4,542,997,239,447,-317,409,-487,-34,6,-914,607,-622,915,573,666,-229,165,841,-820,703]
print(Solution().findMaxK(nums))